#include <iostream>
#include <string>
#include <vector>
using namespace std;

int main()
{
    cout << "Введите несколько слов, разделенных пробелом: ";
    vector<string> words;
    string word;
    string input_string;
    getline(cin, input_string);
    for (char c : input_string) {
        if (c == ' ') {
            if (!word.empty()) {
                words.push_back(word);
                word.clear();
            }
        } else {
            word += c;
        }
    }
    if (!word.empty()) {
        words.push_back(word);
    }
    int total_words = words.size();
    int uppercase_words = 0;
    int latin_words = 0;
    int short_words = 0;
    string longest_word = "";
    int longest_word_length = 0;
    int dash_words = 0;
    for (string word : words) {
        if (isupper(word[0])) {
            uppercase_words += 1;
        }
        bool has_latin = false;
        for (char c : word) {
            if (isalpha(c) && isascii(c)) {
                has_latin = true;
                break;
            }
        }
        if (has_latin) {
            latin_words += 1;
        }
        if (word.length() <= 3) {
            short_words += 1;
        }
        if (word.find('-') != string::npos) {
            dash_words += 1;
        }
        if (word.length() > longest_word_length) {
            longest_word_length = word.length();
            longest_word = word;
        }
    }
    cout << "Кол-во введенных слов: " << total_words << "\n";
    cout << "Кол-во слов, начинающихся с заглавной кириллической буквы: " << uppercase_words << "\n";
    cout << "Кол-во слов, содержащих хотя бы один латинский символ: " << latin_words << "\n";
    cout << "Кол-во слов, длина которых не превышает 3 символа: " << short_words << "\n";
    cout << "Кол-во слов в составе которых имеется дефис: " << dash_words << "\n";
    cout << "Самое длинное слово: " + longest_word + "\n";
    cout << "Длина самого длинного слова: " << longest_word_length << "\n";


}
